﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Koossery.MVCwin.Filters.basefilter;
using Koossery.MVCwin.Filters.itf;

namespace Koossery.MVCwin.Filters.impl
{
    /// <author>Mohamadou Yacoubou</author>
    /// <summary>
    /// The result filter attribute. It's executed before and after the execution of a result
    /// </summary>
	public class ResultFilterAttribute : FilterAttribute, IResultFilter
	{
		#region Public Methods

        /// <summary>
        /// The after method. It is executed after the execution of an action result
        /// </summary>
        /// <param name="filterContext"></param>
		public virtual void OnResultExecuted(Koossery.MVCwin.Filters.context.ResultExecutedContext filterContext)
		{
		}

        /// <summary>
        /// The before method. It is executed before the execution of an action result
        /// </summary>
        /// <param name="filterContext">The context of execution</param>
		public virtual void OnResultExecuting(Koossery.MVCwin.Filters.context.ResultExecutingContext filterContext)
		{
		}

		#endregion Public Methods
	}
}